Formal Veri cation of Memory Arrays
نویسندگان
چکیده
Veri cation of memory arrays is an important part of processor veri cation. Memory arrays include circuits such as on-chip caches, cache tags, register les, and branch prediction bu ers having memory cores embedded within complex logic. Such arrays cover large areas of the chip and are critical to the functionality and performance of the system. Hence, these circuits are custom designed at the transistor level to optimize area and performance. Conventional simulation based veri cation approaches do not work for arrays, as it is infeasible to simulate the astronomical number of simulation patterns that are required to verify these designs. Therefore, we need to look at formal methods to ensure the correctness of these circuits. We have adopted the formal technique of Symbolic Trajectory Evaluation (STE) to solve the array veri cation problem. STE uses a form of symbolic simulation to check whether a nite state system satis es a formula expressed in a carefully restricted temporal logic. It can handle switch-level circuits and detailed system timing. However, STE does not resolve many fundamental issues important for verifying arrays. These include the state explosion problem, causing prohibitively large ordered binary decision diagrams (OBDDs) for certain classes of circuits, and the switch-level analysis bottleneck, limiting the size of switch-level circuits that can be analyzed prior to running STE. Our thesis builds upon earlier work on STE to overcome these problems. We have developed techniques to exploit symmetry while verifying transistor-level circuits by STE. We show that exploiting symmetry allows one to verify systems several orders of magnitude larger than otherwise possible. We have veri edmemory arrays with multimillion transistors. The techniques we have developed also successfully overcome the switch-level analysis bottleneck. We believe that with our work, the problem of static random access memory (SRAM) veri cation is solved. We have developed techniques based on new Boolean encodings to e ciently verify content addressable memories (CAMs). Our encodings scale up well in terms of veri cation memory requirements, as compared to naive approaches. From our experimental results, and our case studies of PowerPC CAMs, we believe that we have solved the problem of verifying all the di erent types of CAMs that are found on a modern microprocessor. To facilitate the use of STE, we have developed an automated technique to identify the internal state nodes in transistor netlists. We have used the techniques developed in this thesis to successfully verify several memory arrays from state of the art PowerPC microprocessor designs.
منابع مشابه
Towards a Verification Technique for Large Synchronous Circuits
We present a symbolic simulation based veri cation approach which can be applied to large synchronous circuits A new technique to encode the state and input constraints as parametric Boolean expressions over the state and input variables is used to make our symbolic simulation based veri cation approach e cient The constraints which are encoded through parametric Boolean expressions can involve...
متن کاملAutomatic Generation of Assertions for Formal Veri cation of PowerPC Microprocessor Arrays Using Symbolic Trajectory Evaluation
For verifying complex sequential blocks such as microprocessor embedded arrays, the formal method of symbolic trajectory evaluation (STE) has achieved great success in the past [[3], [5], [6]]. Past STE methodology for arrays requires manual creation of \assertions" to which both the RTL view and the actual design should be equivalent. In this paper, we describe a novel method to automate the a...
متن کاملFormal Verification of a Memory Model for C-Like Imperative Languages
This paper presents a formal veri cation with the Coq proof assistant of a memory model for C -like imperative languages. This model de nes the memory layout and the operations that manage the memory. The model has been speci ed at two levels of abstraction and implemented as part of an ongoing certi cation in Coq of a moderatelyoptimising C compiler. Many properties of the memory have been ver...
متن کاملState Reduction Methods for Automatic Formal Verification H Signed I H Signed I H Signed I
Validation of industrial designs is becoming more challenging as technology advances and demand for higher performance increases. One of the most suitable debugging aids is automatic formal veri cation. Unlike simulation, which tests behaviors under a speci c execution, automatic formal veri cation tests behaviors under all possible executions of a system. Therefore, it is able to detect errors...
متن کاملHardware Modeling and Veri cation of an ATM Ring MAC Protocol
The VLSI design of nite-state concurrent hardware systems is toda ypresent in many elds, in particular in the design of digital and communication systems. Late detection of design errors in the design phase are very costly in any system development. These errors can delay the product deployment and even cause the failure of the product. The traditionally used simulation techniques cannot cover ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997